{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "9ed89dfb",
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "only size-1 arrays can be converted to Python scalars",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m/tmp/ipykernel_4916/3017033898.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      7\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnum\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mendpoint\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mmath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      9\u001b[0m \u001b[0mA\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     10\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mTypeError\u001b[0m: only size-1 arrays can be converted to Python scalars"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import math\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "N = 1000\n",
    "\n",
    "x = np.linspace(0, 1, num = N, endpoint=True)\n",
    "f = np.zeros(N)\n",
    "A = np.zeros(N)\n",
    "for i in range(N):\n",
    "    f[i] = x[i] / (math.exp(x[i]) - 1)\n",
    "    A[i] = (3+x[i])/x[i]\n",
    "\n",
    "plt.plot(x, f, '--')\n",
    "plt.plot(x, A, 'r--')\n",
    "#plt.plot(xp, yp, 'o')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "596d0f00",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f9cd08b8640>]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "N = 100\n",
    "n = 5\n",
    "x = np.linspace(0, np.pi, N)\n",
    "xp = np.linspace(0, np.pi, n)\n",
    "y = np.sin(x)\n",
    "yp = np.sin(xp)\n",
    "z = np.zeros(N)\n",
    "zp = np.zeros(n)\n",
    "o = np.ones(N)\n",
    "op = np.ones(n)\n",
    "\n",
    "plt.plot(x, y, 'r--')\n",
    "plt.plot(xp, yp, 'o')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "aa8ee2c6",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
